iT邦幫忙

0

使用 TypeScript 寫 React 1/30 之認識 TypeScript!!!

  • 分享至 

  • xImage
  •  

介紹TypeScript

就我所了解的TypeScript,它有點像是強化版本的JavaScript,例如說:你在JavaScript中寫一個Function,你帶入的參數在你的假想中它的型別為數字,但是當你帶入的資料為文字的時候,它不會顯示你因為型別錯誤而導致你的Function錯誤的,然後你就要找哪裡有錯誤就話多話一陣子的時間,好比說:

    const add = (a, b) => a + b;
    你預期中的呈現方式:
    add(2, 3); return 5
    但是當資料為文字的時候,
    add('I', 'am'); return 'Iam'
    還是可以動!!這就是JavaSript強大的地方~~(誤)~~

但是當使用TypeScript的時候就不會有這種問題發生,例如:

    const add = (a: number, b: number) => a + b ;
    add('Y', 'ou'); 顯示a ,b type not number
    當你帶入的值不是number的時候它會跑出提醒你的參數不為number;

這樣很明顯就知道是型別的問題,而不用再去找問題點在哪,當然這只是TypeScript強大的地方之一!由於小弟最近在忙著趕專案,今天就來簡易介紹TypeScript有哪些Type,求各位大大鞭小力一點,有甚麼錯誤的立方再麻煩提點一下!!


TypeScript 的型別

Boolean

true/false, 我相信這大家很常見!!

let open: boolean = true;

Number

Number有判別不只是數字,它包括:( hexadecimal/ decimal literals/ binary/ octal literals ...etc,我現在才知道原來不只有識別數字原來有來其它的!!

let decimal: number = 5; // decimal literals
let hex: number = 0xf00d; // hexadecimal
let binary: number = 0b1010; // binary
let octal: number = 0o744;  // octal literals
let big: bigint = 100n; //Bibint 有點像是大數字之類的意思

String

這個易懂--文字!!

cont lange: string = "English" 
cont other: string = `I am ${name}`
const otherTwo: string = "I am" + "Jay"

Array

它的組合很多,有文字陣列,數字...etc

1. let numberArray: number[] = [1, 2, 3];
2. let numerArrayTwo: Array<number> = [4, 5, 6];

Tuple

它像是Array的大雜燴,假如你的Array中有包含string跟number...等等

let mixArray: [x: number, y: string] = [123, "number"];
mixArray = ["string", 123]; //這樣是不行的要跟上面的位置一模一樣!!不然會跳錯誤
mixArray.[2] = 1;//這樣也是不行得因為你設定的長度只有2,不能大於你預設的長度

Enum

尚未完全理解!!待補充!!
Loading ...

Unknow

當你的變數不知道回傳是甚麼type的時候可以使用它,但是它不為任何型別。

let a: unknow = 4;
a = true;
a = "country";
a = 10;
const numberA: number = a; //它跳錯誤 a type not number

Any

any像是甚麼都可以,但是還是少用any不然這樣使用TypeScript很沒效果

let anyType: any = 'a';
anyType = 5;

Void

function no return value or value === null | undefined!

const add = ():void => console.log("123");
let value:void = undefined;
vlaue = null;

Null and Undefined

Null 跟 undefined 有自己的型別不過跟void很像!!不過這很少單獨使用,比較常跟其它混合使用

let a : string | null = "a";

Never

有點像是沒有停止的function或者是當function還會傳至下一個funciton 或者動作時候可以使用

const error = (message: string): never => { throw new Error(message)};
const neverStop = (): never => { while(true){...} };

Object

這看程式比較好懂,就我理解就是object

const create = (obj: object | null):void;
create({a: 0}); //OK!!
create(1); // not ok

以上就是基本的TypeScript的型別!!有任何錯誤可以多多提醒我一下感恩!!

引用(https://www.typescriptlang.org/docs/handbook/basic-types.html)


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言